Many modern mobile computer devices, such as smartphones, tablet computers or other general or special purpose machines, include one or more components for determining information regarding a device's position, orientation, velocity or acceleration. For example, some such mobile computer devices may include Global Positioning System (or “GPS”) transceivers for determining positions using data received from one or more orbiting satellites, or cellular telephone equipment configured to estimate (e.g., triangulate) a position using signals received from one or more cellular telephone network towers or other network sources. Moreover, some such devices may also include compasses for determining directions, gyroscopes for determining orientations and accelerometers for sensing accelerations.
A GPS-enabled device may determine its position by interpreting signals that are received from multiple GPS satellites. A distance between the device and a GPS satellite may be determined by calculating a “time of flight” between the GPS satellite and the device for each such signal, which is assumed to travel at approximately the speed of light. Where three or more such signals are interpreted, the device may be determined to be located at a specific point on the planet to within a certain degree of accuracy or tolerance, commonly on the order of two to ten meters.
Occasionally, position information determined using GPS satellites and GPS-enabled equipment may be inaccurate, irrelevant or unavailable. For example, like any computer device, most GPS-enabled equipment requires an initialization period during which the GPS position information determined by such equipment is unreliable. Furthermore, where an environment includes many natural or artificial obstructions, such as tree limbs, office towers, mountains, walls or ceilings, the receipt of GPS signals by a GPS-enabled device may be delayed or otherwise interpreted as having arrived in an untimely manner. Moreover, even where GPS position information that is obtained or determined by a mobile computer device is within an acceptable degree of accuracy or tolerance (e.g., within two to ten meters), the information may be insufficient or unreliable for some purposes. For example, where an accurate position is desired in a dense, urban environment having a large number of individual locations (e.g., addresses or other points of interest) within a small, defined area, determining a precise location within the area may be of paramount importance.